package gui.jmenubar;

import gui.jmenubar.jmenu.JMenuApp;
import gui.jmenubar.jmenu.JMenuArchivo;
import gui.jmenubar.jmenu.JMenuAyuda;
import gui.jmenubar.jmenu.JMenuCamara;
import gui.jmenubar.jmenu.JMenuEstambre;
import gui.jmenubar.jmenu.JMenuFlor;
import gui.jmenubar.jmenu.JMenuHerramientas;
import gui.jmenubar.jmenu.JMenuModo;
import gui.jmenubar.jmenu.JMenuPetalo;
import gui.jmenubar.jmenu.JMenuPistilo;
import gui.jmenubar.jmenu.JMenuReceptaculo;
import gui.jmenubar.jmenu.JMenuSepalo;
import gui.jtab.JTab;
import gui.jtab.JTabInterface;

import java.util.ArrayList;

import javax.swing.JMenuBar;

public class JMenuBarMain extends JMenuBar{

	private static final long serialVersionUID = 1L;
	
	private ArrayList<JMenuApp> menuList;
	
	public JMenuBarMain(){
		menuList = new ArrayList<JMenuApp>();
		initComponents();
		setVisible(1, true);
		setVisible(2, true);
		setVisible(3, false);
		setVisible(4, false);
		setVisible(5, false);
		setVisible(6, false);
		setVisible(7, false);
		setVisible(8, true);
	}

	private void initComponents() {
		JMenuApp jMenuArchivo = new JMenuArchivo();
		add(jMenuArchivo);		
		menuList.add(jMenuArchivo);
		
		JMenuApp jMenuCamara = new JMenuCamara();
		add(jMenuCamara);		
		menuList.add(jMenuCamara);
		
		JMenuApp jMenuModo= new JMenuModo();
		add(jMenuModo);		
		menuList.add(jMenuModo);
		
		JMenuApp jMenuPetalo = new JMenuPetalo();
		add(jMenuPetalo);		
		menuList.add(jMenuPetalo);
		
		JMenuApp jMenuSepalo = new JMenuSepalo();
		add(jMenuSepalo);		
		menuList.add(jMenuSepalo);
		
		JMenuApp jMenuPistilo = new JMenuPistilo();
		add(jMenuPistilo);		
		menuList.add(jMenuPistilo);
		
		JMenuApp jMenuEstambre = new JMenuEstambre();
		add(jMenuEstambre);		
		menuList.add(jMenuEstambre);
		
		JMenuApp jMenuReceptaculo = new JMenuReceptaculo();
		add(jMenuReceptaculo);		
		menuList.add(jMenuReceptaculo);
		
		JMenuApp jMenuFlor = new JMenuFlor();
		add(jMenuFlor);		
		menuList.add(jMenuFlor);
		
		JMenuApp jMenuHerramientas = new JMenuHerramientas();
		add(jMenuHerramientas);		
		menuList.add(jMenuHerramientas);
		
		JMenuApp jMenuAyuda = new JMenuAyuda();
		add(jMenuAyuda);		
		menuList.add(jMenuAyuda);
	}	

	public void setJTab(JTabInterface tab) {
		for(int i = 0 ; i < menuList.size(); i++)
			menuList.get(i).setJTab(tab);
		if(((JTab)tab).getName()=="TabCirculos"){
			setVisible(0,1, false);
			setVisible(0,3, false);
			setVisible(0,4, false);
			setVisible(0,5, false);
			setVisible(0,6, false);
			setVisible(1, true);
			setVisible(2, true);
			setVisible(3, false);
			setVisible(4, false);
			setVisible(5, false);
			setVisible(6, false);
			setVisible(7, false);
			setVisible(8, true);
			setEnabled(8, false);
			setVisible(9, true);
			setEnabled(9, false);
		}else if(((JTab)tab).getName()=="TabFlor"){
			setVisible(0,1, true);
			setVisible(0,3, true);
			setVisible(0,4, false);
			setVisible(0,5, true);
			setVisible(0,6, true);
			setVisible(1, true);
			setVisible(2, true);
			setVisible(3, false);
			setVisible(4, false);
			setVisible(5, false);
			setVisible(6, false);
			setVisible(7, false);
			setVisible(8, true);
			setEnabled(8, true);
			setVisible(9, true);
			setEnabled(9, true);
		}else if(((JTab)tab).getName()=="pistil"){
			setVisible(0,1, true);
			setVisible(0,3, true);
			setVisible(0,4, true);
			setVisible(0,5, true);
			setVisible(0,6, true);
			setVisible(1, true);
			setVisible(2, true);
			setVisible(3, false);
			setVisible(4, false);
			setVisible(5, true);
			setVisible(6, false);
			setVisible(7, false);
			setVisible(8, false);
			setVisible(9, true);
			setEnabled(9, true);
		}else if(((JTab)tab).getName()=="stamen"){
			setVisible(0,1, true);
			setVisible(0,3, true);
			setVisible(0,4, true);
			setVisible(0,5, true);
			setVisible(0,6, true);
			setVisible(1, true);
			setVisible(2, true);
			setVisible(3, false);
			setVisible(4, false);
			setVisible(5, false);
			setVisible(6, true);
			setVisible(7, false);
			setVisible(8, false);
			setVisible(9, true);
			setEnabled(9, true);
		}else if(((JTab)tab).getName()=="petal"){
			setVisible(0,1, true);
			setVisible(0,3, true);
			setVisible(0,4, true);
			setVisible(0,5, true);
			setVisible(0,6, true);
			setVisible(1, true);
			setVisible(2, true);
			setVisible(3, true);
			setVisible(4, false);
			setVisible(5, false);
			setVisible(6, false);
			setVisible(7, false);
			setVisible(8, false);
			setVisible(9, true);
			setEnabled(9, true);
		}else if(((JTab)tab).getName()=="sepal"){
			setVisible(0,1, true);
			setVisible(0,3, true);
			setVisible(0,4, true);
			setVisible(0,5, true);
			setVisible(0,6, true);
			setVisible(1, true);
			setVisible(2, true);
			setVisible(3, false);
			setVisible(4, true);
			setVisible(5, false);
			setVisible(6, false);
			setVisible(7, false);
			setVisible(8, false);
			setVisible(9, true);
			setEnabled(9, true);
		}else if(((JTab)tab).getName()=="receptacle"){
			setVisible(0,1, true);
			setVisible(0,3, true);
			setVisible(0,4, true);
			setVisible(0,5, true);
			setVisible(0,6, true);
			setVisible(1, true);
			setVisible(2, true);
			setVisible(3, false);
			setVisible(4, false);
			setVisible(5, false);
			setVisible(6, false);
			setVisible(7, true);
			setVisible(8, false);
			setVisible(9, true);
			setEnabled(9, true);
		}
	}
	
	public void setVisible(int i,boolean visible){
		menuList.get(i).setVisible(visible);
	}
	
	public void setEnabled(int i,boolean enabled){
		menuList.get(i).setEnabled(enabled);
	}
	
	public void setVisible(int i, int j, boolean visible){
		menuList.get(i).setVisible(j,visible);
	}

}
